/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package service;
import ant.Piece;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@Stateless
@Path("ant.piece")
public class PieceFacadeREST extends AbstractFacade<Piece> {
@PersistenceContext(unitName = "WsRestPU")
private EntityManager em;
public PieceFacadeREST() {
super(Piece.class);
}
@POST
@Override
@Consumes({"application/xml", "application/json"})
public void create(Piece entity) {
super.create(entity);
}
@PUT
@Override
@Consumes({"application/xml", "application/json"})
public void edit(Piece entity) {
super.edit(entity);
}
@DELETE
@Path("{id}")
public void remove(@PathParam("id") Long id) {
super.remove(super.find(id));
}
@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public Piece find(@PathParam("id") Long id) {
return super.find(id);
}
@GET
@Override
@Produces({"application/xml", "application/json"})
public List<Piece> findAll() {
return super.findAll();
}
@GET
@Path("{from}/{to}")
@Produces({"application/xml", "application/json"})
public List<Piece> findRange(@PathParam("from") Integer from, @PathParam("to") Integer to) {
return super.findRange(new int[]{from, to});
}
@GET
@Path("count")
@Produces("text/plain")
public String countREST() {
return String.valueOf(super.count());
}
@Override
protected EntityManager getEntityManager() {
return em;
}
}